.TH deductionguidesforstd::ranges::split_view 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
deductionguidesforstd::ranges::split_view \- deductionguidesforstd::ranges::split_view

.SH Synopsis
   template< class R, class P >

   split_view( R&&, P&& )                                             \fB(1)\fP \fI(since C++20)\fP

       -> split_view<views::all_t<R>, views::all_t<P>>;
   template< ranges::input_range R >

   split_view( R&&, ranges::range_value_t<R> )                        \fB(2)\fP \fI(since C++20)\fP

       -> split_view<views::all_t<R>,
   ranges::single_view<ranges::range_value_t<R>>>;

   These deduction guides are provided for split_view to allow deduction from a range
   and a delimiter.

   1) The delimiter is a range of elements.
   2) The delimiter is a single element.

.SH Example


// Run this code

 #include <ranges>
 #include <string_view>
 #include <type_traits>
 using std::operator""sv;

 int main() {
     std::ranges::split_view w1{"a::b::c"sv, "::"sv};
     static_assert(std::is_same_v<
         decltype(w1),
         std::ranges::split_view<std::string_view, std::string_view>>);

     std::ranges::split_view w2{"x,y,z"sv, ','};
     static_assert(std::is_same_v<
         decltype(w2),
         std::ranges::split_view<std::string_view, std::ranges::single_view<char>>>);
 }
